package com.shangguigu.linkedlist;

/**
 * @author: ZhouBert
 * @date: 2019/9/30
 * @description:	单链表
 * TODO:1.在内存中的存储结构：data域；next域
 * TODO:1.链表是以【节点】的方式来存储；2.每个节点包含data 域，next 域；指向下一个节点；3.可以从存储结构发现【不一定连续存储】；4.链表分-带头节点和没有头节点
 * 使用带head头的单向链表实现 –水浒英雄排行榜管理
 * 完成对英雄人物的增删改查操作， 注: 删除和修改,查找
 * 第一种方法在添加英雄时，直接添加到链表的尾部
 * 第二种方式在添加英雄时，根据排名将英雄插入到指定位置(如果有这个排名，则添加失败，并给出提示)
 * TODO:链表删除的思路：
 * todo:1.首先找到需要删除的节点的前一个节点 temp ；
 * todo:2.temp.next=temp.next.next
 * todo:3.被删除的节点，（将指向置空？）将不会有其他引用，gc
 */
public interface SingleLinkedList4Hero {

	/**
	 * 在链表中添加节点
	 * @param node
	 */
	void add(HeroNode node);

	/**
	 * 根据编号（属性）更新节点
	 * @param newNode
	 */
	void updateByNo(HeroNode newNode);

	/**
	 * 删除节点（根据编码）
	 * @param no
	 */
	void del(int no);


}
